package net.core.service.security.pojos;

import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.util.StringUtils;
/**   
 * @ClassName: AuthoritiesPages
 * @Description: 
 * @author weixl  2010-9-15
 * @version V1.0   
 * <hr>
 * 修改记录
 * <hr>
 * 1、修改人员:    修改时间:<br>       
 *    修改内容:
 * <hr>
 */

public class AuthoritiesPages {
	private Logger log = Logger.getLogger(AuthoritiesPages.class);
	
	//不需会话的页面
	private Map notSessionPages = new HashMap();
	
	/**
	 * 设置不需要安全过滤的url，通过字符串设置
	 * @param list 方法与菜单id的关系字符串,格式如：<br>
	 * url<br>
	 * url2<br>
	 */
	public void setNotSessionPageList(String list){
		notSessionPages.putAll(parsetList(list,false));
	}
	
	/**
	 * 取得不需要安全过滤的url
	 * @return　不需要安全过滤的url
	 */
	public Map getNotSessionPages() {
		return notSessionPages;
	}
	/**
	 * 取得不需要安全过滤的url
	 * @return　不需要安全过滤的url
	 */
	public void setNotSessionPages(Map notSessionPages) {
		this.notSessionPages = notSessionPages;
	}
	
	private Map parsetList(String str,boolean b){
		HashMap map = new HashMap(); 
		String[] tmp = StringUtils.tokenizeToStringArray(str, "; \t\n");
		String[] tmp2 = null;
		for(int i=0;i<tmp.length;i++){
			if(b){
				tmp2 = StringUtils.tokenizeToStringArray(tmp[i],"=");
				if(!tmp2[1].trim().endsWith(","))
					tmp2[1]=tmp2[1].trim()+",";
				map.put(tmp2[0],tmp2[1]);
			}else{
				map.put(tmp[i],"");
			}
		}
		return map;
	}
}
